// pages/home/acode/acode_from_shop.js
const api = require("../../../request/api")
const request = require("../../../request/request")
const util = require("../../../utils/util")
const App = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    amount_value: '',
    uid: 0,
    options: {},
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.init_data(options)
  },

  init_data(options) {
    this.setData({
      uid: util.getAppValue(App.globalData.uid),
      options,
      shop_id: options.shop_id,
    })
  },

  amount_input(e) {
    this.setData({
      amount_value: e.detail.value
    })
  },
  
  // 1.开始支付，支付流程是先调用orderadd生成一个订单，输出一个订单号
  // 2.输入一个订单号，调用orderpay，输出微信支付所需要的签名信息
  // 3.输入签名信息，调用微信的支付接口，完成支付后跳转页面，在此期间可修改订单的状态status
  paying() {
    let type = 1
    // 基本的请求参数信息
    let post_data = {
      uid: this.data.uid,
      type: 14,
      shop_id: this.data.shop_id,
      total_fee: this.data.amount_value,
    }

    // 开始支付流程
    request.post(api.orderadd, post_data).then(res => {
      let post_data = {
        id: res.order_id,
        order_no: res.order_no
      }
      // 根据用户是用自选的地址，还是自提点的地址，来调整请求参数
      // post_data = this.get_post_data_address(post_data)
      if (res.order_data.type == "costpoint") {
        util.showSuccess('兑换成功');
        setTimeout(() => {
          wx.switchTab({
            url: '/pages/home/home',
          })
        }, 1000);
        return
      }
      request.post(api.orderpay, post_data).then(res => {
        this.wx_pay(res)
      })
    })
  },

  wx_pay(res) {
    let post_data = res
    // wx.requestSubscribeMessage({
    //   tmplIds: ["gzVSi_MOPG3zbEXkZs9RSeZVhRZP5j91EpwfzrXnOOE", "zdQ1Tv9ML45xskYXpl_3KV_uiLsDoE1XpASrkLzY9XI","2H1XUJ10sCTPHa3RP4innq9abbWf6QZKw1Ppz4qL34o"],
    //   success: res=>{
    wx.requestPayment({
      nonceStr: post_data.nonceStr,
      package: post_data.package,
      paySign: post_data.paySign,
      timeStamp: post_data.timeStamp,
      signType: post_data.signType,
      success(res) {
        util.showSuccess('支付成功');
        wx.reLaunch({
          url: '/pages/order/pay_success',
        })
      },
      fail(e) {
        util.showToast('支付取消');
      }
    })
    //   },
    //   fail: e=>{
    //   }
    // })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})